Zjisteni hodnoty eventy z OI
Otázka od: b.trpaslik@centrum.cz
5. 12. 2003 17:28
Zdravim,
Tvorim novou komponentu spolecne s jejim editorem. Na formu tohoto
editoru mam novou (grafickou) komponentu (treba ctverecek). Uz se mi
podarilo dosahnout
toho, ze po otereni editoru komponety a kliknuti na ctverecek se mi
jeho vlastnosti zobrazi v Object Inspectoru. Takze mi to docela
komunikuje. Ctverecek ma i nejakou zverejnenou eventu (treba
OnClick). V OI si ji muzu nastavit.
Mam ale nasledujici problem:
Potreboval bych v tom editoru zjistit (stringovou) hodnotu, kterou ma eventa
OnClick
nastavenou (lepe receno jmeno metody, ktera je prirazena teto
udalosti). Typicky: napsat dovnitr toho ctverecku
"OnClick je
nastaveno na Ctrerecek1Click". Potrebuju tedy zjistit ten retezec
"Ctverecek1Click".
Diky
Marek Machalik
Odpovedá: Bronislav Klucka
5. 12. 2003 21:48
> Tvorim novou komponentu spolecne s jejim editorem. Na formu tohoto
> editoru mam novou (grafickou) komponentu (treba ctverecek). Uz se mi
> podarilo dosahnout
> toho, ze po otereni editoru komponety a kliknuti na ctverecek se mi
> jeho vlastnosti zobrazi v Object Inspectoru. Takze mi to docela
> komunikuje. Ctverecek ma i nejakou zverejnenou eventu (treba
> OnClick). V OI si ji muzu nastavit.
> Mam ale nasledujici problem:
> Potreboval bych v tom editoru zjistit (stringovou) hodnotu,
> kterou ma eventa OnClick
> nastavenou (lepe receno jmeno metody, ktera je prirazena teto
> udalosti). Typicky: napsat dovnitr toho ctverecku
"OnClick je
> nastaveno na Ctrerecek1Click". Potrebuju tedy zjistit ten
retezec
> "Ctverecek1Click".
>
procedure TForm1.Button1Click(Sender: TObject);
var proc:Procedure (Sender:TObject) of object;
begin
proc:=Button1.OnClick;
ShowMessage(MethodName(@proc)); //vrati
'Button1Click"
ShowMessage(Format('%p',[MethodAddress('Button1Click')])); //vrati
@Button1Click
end;
Brona